package com.csd.pojo;
// default package

import java.util.Date;
import java.util.HashSet;
import java.util.Set;


/**
 * @JavaBean Team
 * @author CSD
 * @version 1.1.1
 * @date 2009-12-16
 * @description 工程
 */

public  class Project  implements java.io.Serializable {


    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	// Fields    
	/**数据库唯一标识*/
     private Integer id;
     /**指导老师*/
     private Teacher teacher;
     /**研究领域*/
     private ResearchField researchField;
     /**开发团队*/
     private Team team;
     /**工程类型*/
     private ProjectType projectType;
     /**工程编号*/
     private String projectnum;
     /**工程名称*/
     private String projectname;
     /**项目申请时间*/
     private Date applytime;
     /**项目结束时间*/
     private Date endtime;
     /**项目介绍*/
     private String introduction;
     /**项目开发所处状态*/
     private String state;
     /**项目最后得分*/
     private String finalscore;
     /**项目等级*/
     private String level;
     /**开发周期*/
     private String cycle;
     /**花费记录集*/
     private Set<CostRecord> costRecords = new HashSet<CostRecord>(0);
     /**审核记录集*/
     private Set<EvaluateItem> evaluateItems = new HashSet<EvaluateItem>(0);
     /**文档集*/
     private Set<DocumentRecord> documentRecords = new HashSet<DocumentRecord>(0);
     /**项目整过程得分*/
     private Score score;
     /**项目变更集*/
     private Set<ChangeRecord> changeRecords = new HashSet<ChangeRecord>(0);


    // Constructors

    /** default constructor */
    public Project() {
    }

	/** minimal constructor */
    public Project(String projectnum) {
        this.projectnum = projectnum;
    }
    
    /** full constructor */
    

   
    // Property accessors

 
    
    public Project(Integer id, Teacher teacher, ResearchField researchField,
			Team team, ProjectType projectType, String projectnum,
			String projectname, Date applytime, Date endtime,
			String introduction, String state, String finalscore, String level,
			String cycle, Set<CostRecord> costRecords,
			Set<EvaluateItem> evaluateItems,
			Set<DocumentRecord> documentRecords, Score score,
			Set<ChangeRecord> changeRecords) {
		super();
		this.id = id;
		this.teacher = teacher;
		this.researchField = researchField;
		this.team = team;
		this.projectType = projectType;
		this.projectnum = projectnum;
		this.projectname = projectname;
		this.applytime = applytime;
		this.endtime = endtime;
		this.introduction = introduction;
		this.state = state;
		this.finalscore = finalscore;
		this.level = level;
		this.cycle = cycle;
		this.costRecords = costRecords;
		this.evaluateItems = evaluateItems;
		this.documentRecords = documentRecords;
		this.score = score;
		this.changeRecords = changeRecords;
	}

    public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Teacher getTeacher() {
        return this.teacher;
    }
    
    public void setTeacher(Teacher teacher) {
        this.teacher = teacher;
    }

    public ResearchField getResearchField() {
        return this.researchField;
    }
    
    public void setResearchField(ResearchField researchField) {
        this.researchField = researchField;
    }

    public Team getTeam() {
        return this.team;
    }
    
    public void setTeam(Team team) {
        this.team = team;
    }

    public ProjectType getProjectType() {
        return this.projectType;
    }
    
    public void setProjectType(ProjectType projectType) {
        this.projectType = projectType;
    }

    public String getProjectnum() {
        return this.projectnum;
    }
    
    public void setProjectnum(String projectnum) {
        this.projectnum = projectnum;
    }

    public String getProjectname() {
        return this.projectname;
    }
    
    public void setProjectname(String projectname) {
        this.projectname = projectname;
    }

    public Date getApplytime() {
        return this.applytime;
    }
    
    public void setApplytime(Date applytime) {
        this.applytime = applytime;
    }

    public Date getEndtime() {
        return this.endtime;
    }
    
    public void setEndtime(Date endtime) {
        this.endtime = endtime;
    }

    public String getIntroduction() {
        return this.introduction;
    }
    
    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getState() {
        return this.state;
    }
    
    public void setState(String state) {
        this.state = state;
    }

    public String getFinalscore() {
        return this.finalscore;
    }
    
    public void setFinalscore(String finalscore) {
        this.finalscore = finalscore;
    }

    public String getLevel() {
        return this.level;
    }
    
    public void setLevel(String level) {
        this.level = level;
    }

    public String getCycle() {
        return this.cycle;
    }
    
    public void setCycle(String cycle) {
        this.cycle = cycle;
    }

	public Set<CostRecord> getCostRecords() {
		return costRecords;
	}

	public void setCostRecords(Set<CostRecord> costRecords) {
		this.costRecords = costRecords;
	}

	public Set<EvaluateItem> getEvaluateItems() {
		return evaluateItems;
	}

	public void setEvaluateItems(Set<EvaluateItem> evaluateItems) {
		this.evaluateItems = evaluateItems;
	}

	public Set<DocumentRecord> getDocumentRecords() {
		return documentRecords;
	}

	public void setDocumentRecords(Set<DocumentRecord> documentRecords) {
		this.documentRecords = documentRecords;
	}

	public Score getScore() {
		return score;
	}

	public void setScore(Score score) {
		this.score = score;
	}

	public Set<ChangeRecord> getChangeRecords() {
		return changeRecords;
	}

	public void setChangeRecords(Set<ChangeRecord> changeRecords) 
	{
		this.changeRecords = changeRecords;
	}

}